package models;

import play.db.jpa.GenericModel;

import javax.persistence.*;
import java.util.*;
/**
 * Created with IntelliJ IDEA.
 * User: Daniel
 * Date: 26/06/12
 * Time: 12:43 PM
 * To change this template use File | Settings | File Templates.
 */
@Entity(name = "hidreglaoperacion")
public class Hidreglaoperacion extends GenericModel {

    @Id
    @SequenceGenerator(name="hidreglaoperacion_seq", sequenceName="hidreglaoperacion_regopeid_seq", allocationSize=0)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="hidreglaoperacion_seq")
    private int regopeid;

    private String regopenom;

    @OneToMany(mappedBy = "hidreglaoperacion")
    private List<Hidregistroreglaoperacion> hidregistroreglaoperacions;

    @ManyToMany
    @JoinTable(
            name="hidtipocomponentereglaoperacion",
            joinColumns = {@JoinColumn(name = "regopeid",referencedColumnName = "regopeid")},
            inverseJoinColumns = {@JoinColumn(name = "tipcompid",referencedColumnName = "tipcompid")}
    )
    private List<Hidtipocomponente> hidtipocomponentes;

    public Hidreglaoperacion() {
    }


    public Hidreglaoperacion(int regopeid) {
        this.regopeid = regopeid;
    }

    public Hidreglaoperacion(int regopeid, String regopenom, List<Hidregistroreglaoperacion> hidregistroreglaoperacions, List<Hidtipocomponente> hidtipocomponentes) {
        this.regopeid = regopeid;
        this.regopenom = regopenom;
        this.hidregistroreglaoperacions = hidregistroreglaoperacions;
        this.hidtipocomponentes = hidtipocomponentes;
    }

    public int getRegopeid() {
        return regopeid;
    }

    public void setRegopeid(int regopeid) {
        this.regopeid = regopeid;
    }

    public String getRegopenom() {
        return regopenom;
    }

    public void setRegopenom(String regopenom) {
        this.regopenom = regopenom;
    }

    public List<Hidregistroreglaoperacion> getHidregistroreglaoperacions() {
        return hidregistroreglaoperacions;
    }

    public void setHidregistroreglaoperacions(List<Hidregistroreglaoperacion> hidregistroreglaoperacions) {
        this.hidregistroreglaoperacions = hidregistroreglaoperacions;
    }

    public List<Hidtipocomponente> getHidtipocomponentes() {
        return hidtipocomponentes;
    }

    public void setHidtipocomponentes(List<Hidtipocomponente> hidtipocomponentes) {
        this.hidtipocomponentes = hidtipocomponentes;
    }
}
